<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
                // 垃圾回收策略
        // 1. 引用计数法 （淘汰）
        // 2. 标记清除法 （主流）

        // ==> 引用计数法
        // 1. 跟踪记录每个值被引用的次数
        // 2. 如果这个值被引用了一次，那么就记录次数1 
        // 3. 多次引用会累加
        // 4. 如果减少一个引用就减少1 
        // 5. 如果引用次数是0，则释放内存

        // ==> 引用计数法并不是周期性的垃圾回收，什么时候引用次数为0了，直接回收

        function problem () {
            // oA = new Object()
            let oA = {}
            let oB = {}
            oA.c = oB  //  oB被oA引用
            oB.d = oA  //  oA又被oB引用

            // 你中有我，我中有你  ---- 代涛语录
        }
        problem()
    </script>
</body>
</html>